#include "hardware.h"

configuration PlatformLcdC {
  provides interface GeneralIO as RS;
  provides interface GeneralIO as RW;
  provides interface GeneralIO as E;
  provides interface GeneralIO as D0;
  provides interface GeneralIO as D1;
  provides interface GeneralIO as D2;
  provides interface GeneralIO as D3;
  provides interface GeneralIO as D4;
  provides interface GeneralIO as D5;
  provides interface GeneralIO as D6;
  provides interface GeneralIO as D7;
 uses interface Init;
}
implementation
{
 components
     HplMsp430GeneralIOC as GeneralIOC
   , new Msp430GpioC() as RS_Impl
   , new Msp430GpioC() as RW_Impl
   , new Msp430GpioC() as E_Impl
   , new Msp430GpioC() as D0_Impl
   , new Msp430GpioC() as D1_Impl
   , new Msp430GpioC() as D2_Impl
   , new Msp430GpioC() as D3_Impl
   , new Msp430GpioC() as D4_Impl
   , new Msp430GpioC() as D5_Impl
   , new Msp430GpioC() as D6_Impl
   , new Msp430GpioC() as D7_Impl
   ;
 components PlatformP;

 Init = PlatformP.DisplayInit;

 RS = RS_Impl;
 RS_Impl -> GeneralIOC.Port37;

 RW = RW_Impl;
 RW_Impl -> GeneralIOC.Port51;

 E = E_Impl;
 E_Impl -> GeneralIOC.Port52;

 D0 = D0_Impl;
 D0_Impl -> GeneralIOC.Port40;

 D1 = D1_Impl;
 D1_Impl -> GeneralIOC.Port41;

 D2 = D2_Impl;
 D2_Impl -> GeneralIOC.Port42;

 D3 = D3_Impl;
 D3_Impl -> GeneralIOC.Port43;

 D4 = D4_Impl;
 D4_Impl -> GeneralIOC.Port44;

 D5 = D5_Impl;
 D5_Impl -> GeneralIOC.Port45;

 D6 = D6_Impl;
 D6_Impl -> GeneralIOC.Port46;

 D7 = D7_Impl;
 D7_Impl -> GeneralIOC.Port47;

 }
